/*
 * SDLFactory.h
 *
 *  Created on: Nov 27, 2010
 *      Author: timmeh
 */

#ifndef SDLFACTORY_H_
#define SDLFACTORY_H_

#include "AbstractFactory.h"
#include "SDLBall.h"
#include "SDLBreakable.h"
#include "SDLPaddle.h"
#include "SDLPowerUp.h"
using namespace bo_sdl;

namespace bo_sdl{

/**
 * Actual factory pattern object that creates the used objects in the game, given the correct parameters
 */
class SDLFactory: public AbstractFactory {
public:
	SDLFactory();
	~SDLFactory();
	SDLBall* CreateBall(const char*, double, double, double, double, const double);
	SDLBreakable* CreateBreakable(const char*, double, double, const double);
	SDLPaddle* CreatePaddle(const char*, double, double, const double, const double);
	SDLPowerUp* CreatePowerUp(const char*, const double, const double);
};
}
#endif /* SDLFACTORY_H_ */
